package cn.janyd.jmall.system.service.oauth;

import cn.janyd.common.core.vo.CommonResult;
import cn.janyd.jmall.system.rpc.oauth.Oauth2RpcService;
import cn.janyd.jmall.system.rpc.oauth.dto.AccessTokenRespDTO;
import cn.janyd.jmall.system.rpc.oauth.dto.CreateAccessTokenReqDTO;
import cn.janyd.jmall.system.rpc.oauth.dto.RefreshAccessTokenReqDTO;
import cn.janyd.jmall.system.rpc.oauth.dto.RemoveTokenReqDTO;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service;

/**
 * Oauth2相关逻辑
 *
 * @author janyd
 * @since 2020/8/17 21:45
 */
@Service
@DubboService(version = "${jmall.dubbo.versions.Oauth2RpcService}")
public class Oauth2RpcServiceImpl implements Oauth2RpcService {

    /**
     * 创建AccessToken
     *
     * @param createAccessToken 创建AccessToken信息
     * @return AccessToken信息
     */
    @Override
    public CommonResult<AccessTokenRespDTO> createAccessToken(CreateAccessTokenReqDTO createAccessToken) {
        return null;
    }

    /**
     * 校验AccessToken合法性
     *
     * @param accessToken 令牌
     * @return AccessToken信息
     */
    @Override
    public CommonResult<AccessTokenRespDTO> checkAccessToken(String accessToken) {
        return null;
    }

    /**
     * 刷新AccessToken
     *
     * @param refreshAccessTokenReq 刷新AcccessToken信息
     * @return 新的AccessToken
     */
    @Override
    public CommonResult<AccessTokenRespDTO> refreshAccessToken(RefreshAccessTokenReqDTO refreshAccessTokenReq) {
        return null;
    }

    /**
     * 删除Token
     *
     * @param removeTokenReq 删除Token信息
     * @return 是否成功
     */
    @Override
    public CommonResult<Boolean> removeToken(RemoveTokenReqDTO removeTokenReq) {
        return null;
    }
}
